GGGGLLLL____QQQQUUUUAAAADDDD____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE8888____SSSSGGGGIIIISSSS, GGGGLLLL____QQQQUUUUAAAADDDD____IIIINNNNTTTTEEEENNNNSSSSIIIITTTTYYYY4444____SSSSGGGGIIIISSSS, or
If _t_a_r_g_e_t is GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____2222DDDD or GGGGLLLL____DDDDEEEETTTTAAAAIIIILLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____2222DDDD____SSSSGGGGIIIISSSS, data is read
from _p_i_x_e_l_s as a sequence of signed or unsigned bytes, shorts, or longs,
or single-precision floating-point values, depending on _t_y_p_e. These
values are grouped into sets of one, two, three, or four values,
depending on _f_o_r_m_a_t, to form elements. If _t_y_p_e is GGGGLLLL____BBBBIIIITTTTMMMMAAAAPPPP, the data is
considered as a string of unsigned bytes (and _f_o_r_m_a_t must be
Each data byte is treated as eight 1-bit elements, with bit ordering
determined by GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____LLLLSSSSBBBB____FFFFIIIIRRRRSSSSTTTT (see ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee).
The first element corresponds to the lower left corner of the texture
image. Subsequent elements progress left-to-right through the remaining
texels in the lowest row of the texture image, and then in successively
higher rows of the texture image. The final element corresponds to the
upper right corner of the texture image.
When GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____SSSSGGGGIIIIXXXX is enabled, only rows (0,2,4,...) of the texture
image (where the border is considered part of the texture image) are
defined. Rows (1,3,5,...) are left undefined and can only be defined
using ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDD, ggggllllTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT, ggggllllCCCCooooppppyyyyTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDD or
ggggllllCCCCooooppppyyyyTTTTeeeexxxxSSSSuuuubbbbIIIImmmmaaaaggggeeee2222DDDDEEEEXXXXTTTT. Note that when GGGGLLLL____IIIINNNNTTTTEEEERRRRLLLLAAAACCCCEEEE____SSSSGGGGIIIIXXXX is enabled the
total height (i.e., the height of interior texture image plus twice the
border) of the defined texture is 2*height.
_f_o_r_m_a_t determines the composition of each element in _p_i_x_e_l_s. It can
Each element is a single value, a color index. The GL converts
it to fixed point (with an unspecified number of zero bits to
the right of the binary point), shifted left or right depending
on the value and sign of GGGGLLLL____IIIINNNNDDDDEEEEXXXX____SSSSHHHHIIIIFFFFTTTT, and added to
GGGGLLLL____IIIINNNNDDDDEEEEXXXX____OOOOFFFFFFFFSSSSEEEETTTT (see
ggggllllPPPPiiiixxxxeeeellllTTTTrrrraaaannnnssssffffeeeerrrr). The resulting index is converted to a set of
color components using the GGGGLLLL____PPPPIIIIXXXXEEEELLLL____MMMMAAAAPPPP____IIII____TTTTOOOO____RRRR,
GGGGLLLL____PPPPIIIIXXXXEEEELLLL____MMMMAAAAPPPP____IIII____TTTTOOOO____GGGG, GGGGLLLL____PPPPIIIIXXXXEEEELLLL____MMMMAAAAPPPP____IIII____TTTTOOOO____BBBB, and
GGGGLLLL____PPPPIIIIXXXXEEEELLLL____MMMMAAAAPPPP____IIII____TTTTOOOO____AAAA tables, and clamped to the range [0,1].
GGGGLLLL____RRRREEEEDDDD Each element is a single red component. The GL converts it to
floating point and assembles it into an RGBA element by
attaching 0 for green and blue, and 1 for alpha. Each component
is then multiplied by the signed scale factor GGGGLLLL____cccc____SSSSCCCCAAAALLLLEEEE, added
to the signed bias GGGGLLLL____cccc____BBBBIIIIAAAASSSS, and clamped to the range [0,1]
(see ggggllllPPPPiiiixxxxeeeellllTTTTrrrraaaannnnssssffffeeeerrrr).
GGGGLLLL____GGGGRRRREEEEEEEENNNN Each element is a single green component. The GL converts it to
floating point and assembles it into an RGBA element by
attaching 0 for red and blue, and 1 for alpha. Each component
is then multiplied by the signed scale factor GGGGLLLL____cccc____SSSSCCCCAAAALLLLEEEE, added
to the signed bias GGGGLLLL____cccc____BBBBIIIIAAAASSSS, and clamped to the range [0,1]
(see ggggllllPPPPiiiixxxxeeeellllTTTTrrrraaaannnnssssffffeeeerrrr).
GGGGLLLL____BBBBLLLLUUUUEEEE Each element is a single blue component. The GL converts it to
floating point and assembles it into an RGBA element by
attaching 0 for red and green, and 1 for alpha. Each component
is then multiplied by the signed scale factor GGGGLLLL____cccc____SSSSCCCCAAAALLLLEEEE, added
to the signed bias GGGGLLLL____cccc____BBBBIIIIAAAASSSS, and clamped to the range [0,1]
(see ggggllllPPPPiiiixxxxeeeellllTTTTrrrraaaannnnssssffffeeeerrrr).
GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE____AAAALLLLPPPPHHHHAAAA, GGGGLLLL____RRRRGGGGBBBB, and GGGGLLLL____RRRRGGGGBBBBAAAA must match exactly. The numeric
values 1, 2, 3, and 4 may also be used to specify the above
representations.)
Use the GGGGLLLL____PPPPRRRROOOOXXXXYYYY____TTTTEEEEXXXXTTTTUUUURRRREEEE____2222DDDD target to try out a resolution and format.
The implementation will update and recompute its best match for the
requested storage resolution and format. To then query this state, call
ggggllllGGGGeeeettttTTTTeeeexxxxLLLLeeeevvvveeeellllPPPPaaaarrrraaaammmmeeeetttteeeerrrr. If the texture cannot be accommodated, texture
state is set to 0.
A one-component texture image uses only the red component of the RGBA
color extracted from _p_i_x_e_l_s. A two-component image uses the R and A
values. A three-component image uses the R, G, and B values. A four-
component image uses all of the RGBA components.
The mapping of components from the canonical RGBA to the internal storage
formats that begin with GGGGLLLL____DDDDUUUUAAAALLLL____ and GGGGLLLL____QQQQUUUUAAAADDDD____ needs to be clarified.
There are three cases. The first case is for the GGGGLLLL____DDDDUUUUAAAALLLL____ formats that
are groups of GGGGLLLL____AAAALLLLPPPPHHHHAAAA, GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE, and GGGGLLLL____IIIINNNNTTTTEEEENNNNSSSSIIIITTTTYYYY. The R value goes
to the first group while the A value goes to the second group. The
second case is for the GGGGLLLL____DDDDUUUUAAAALLLL____ formats that are groups of
GGGGLLLL____LLLLUUUUMMMMIIIINNNNAAAANNNNCCCCEEEE____AAAALLLLPPPPHHHHAAAA. The R and G values go to the first group while the B
and A values go to the second group. The third case is for the GGGGLLLL____QQQQUUUUAAAADDDD____
formats. The R value goes to the first group, the G value to the second
group, the B value to the third group, and the A value to the fourth
group.
When _i_n_t_e_r_n_a_l_f_o_r_m_a_t is set to GGGGLLLL____DDDDEEEEPPPPTTTTHHHH____CCCCOOOOMMMMPPPPOOOONNNNEEEENNNNTTTT,
GGGGLLLL____DDDDEEEEPPPPTTTTHHHH____CCCCOOOOMMMMPPPPOOOONNNNEEEENNNNTTTT11116666____SSSSGGGGIIIIXXXX, GGGGLLLL____DDDDEEEEPPPPTTTTHHHH____CCCCOOOOMMMMPPPPOOOONNNNEEEENNNNTTTT22224444____SSSSGGGGIIIIXXXX, or
GGGGLLLL____DDDDEEEEPPPPTTTTHHHH____CCCCOOOOMMMMPPPPOOOONNNNEEEENNNNTTTT33332222____SSSSGGGGIIIIXXXX, and _f_o_r_m_a_t has the value GGGGLLLL____DDDDEEEEPPPPTTTTHHHH____CCCCOOOOMMMMPPPPOOOONNNNEEEENNNNTTTT,
ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD defines a depth texture that can be used for shadow mapping.
See ggggllllIIIInnnnttttrrrroooo and ggggllllTTTTeeeexxxxPPPPaaaarrrraaaammmmeeeetttteeeerrrr for more information.
Normally ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD is synchronous: OpenGL executes a ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD
command in the order it is issued in the OpenGL command stream. Calling
ggggllllEEEEnnnnaaaabbbblllleeee with parameter GGGGLLLL____AAAASSSSYYYYNNNNCCCC____TTTTEEEEXXXX____IIIIMMMMAAAAGGGGEEEE____SSSSGGGGIIIIXXXX causes subsequent
ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD commands to be asynchronous as defined by the SSSSGGGGIIIIXXXX____aaaassssyyyynnnncccc
extension. An asynchronous ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD command samples the OpenGL state
vector at the point in the OpenGL command stream where the command is
issued, but the results of the command (e.g. availability of texels for
use in rasterization) do not happen until some unspecified time in the
future. In particular, the order of the asynchronous command relative to
other OpenGL commands issued later in the command stream is undefined.
An implementation may choose to execute asynchronous commands in parallel
with the normal command stream or at some convenient time in the future.
Calling ggggllllDDDDiiiissssaaaabbbblllleeee with parameter GGGGLLLL____AAAASSSSYYYYNNNNCCCC____TTTTEEEEXXXX____IIIIMMMMAAAAGGGGEEEE____SSSSGGGGIIIIXXXX restores the
default synchronous behavior for subsequent ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD commands. It
does not affect any pending asynchronous ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee commands, or wait for
When an asynchronous ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD command is issued, it is associated
with the current value of GGGGLLLL____AAAASSSSYYYYNNNNCCCC____MMMMAAAARRRRKKKKEEEERRRR____SSSSGGGGIIIIXXXX as defined by the
SSSSGGGGIIIIXXXX____aaaassssyyyynnnncccc extension. A program can determine if an asynchronous
ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD command has completed by using the ggggllllFFFFiiiinnnniiiisssshhhhAAAAssssyyyynnnnccccSSSSGGGGIIIIXXXX or
If a convolution filter changes the __width of the texture (by
processing with a GGGGLLLL____CCCCOOOONNNNVVVVOOOOLLLLUUUUTTTTIIIIOOOONNNN____BBBBOOOORRRRDDDDEEEERRRR____MMMMOOOODDDDEEEE of GGGGLLLL____RRRREEEEDDDDUUUUCCCCEEEE, for
n
example), the _w_i_d_t_h must 2 +2(height), for some integer n, and _h_e_i_g_h_t
m
must be 2 +(border), for some integer m, after filtering.
3. RGBA components may be multiplied by GGGGLLLL____PPPPOOOOSSSSTTTT____CCCCOOOONNNNVVVVOOOOLLLLUUUUTTTTIIIIOOOONNNN____cccc____SSSSCCCCAAAALLLLEEEE,
and added to GGGGLLLL____PPPPOOOOSSSSTTTT____CCCCOOOONNNNVVVVOOOOLLLLUUUUTTTTIIIIOOOONNNN____cccc____BBBBIIIIAAAASSSS, if enabled. See
4. Color component replacement by the color table specified for
GGGGLLLL____PPPPOOOOSSSSTTTT____CCCCOOOONNNNVVVVOOOOLLLLUUUUTTTTIIIIOOOONNNN____CCCCOOOOLLLLOOOORRRR____TTTTAAAABBBBLLLLEEEE, if enabled. See ggggllllCCCCoooolllloooorrrrTTTTaaaabbbblllleeee.
5. Transformation by the color matrix. See ggggllllMMMMaaaattttrrrriiiixxxxMMMMooooddddeeee.
6. RGBA components may be multiplied by GGGGLLLL____PPPPOOOOSSSSTTTT____CCCCOOOOLLLLOOOORRRR____MMMMAAAATTTTRRRRIIIIXXXX____cccc____SSSSCCCCAAAALLLLEEEE,
and added to GGGGLLLL____PPPPOOOOSSSSTTTT____CCCCOOOOLLLLOOOORRRR____MMMMAAAATTTTRRRRIIIIXXXX____cccc____BBBBIIIIAAAASSSS, if enabled. See
7. Color component replacement by the color table specified for
GGGGLLLL____PPPPOOOOSSSSTTTT____CCCCOOOOLLLLOOOORRRR____MMMMAAAATTTTRRRRIIIIXXXX____CCCCOOOOLLLLOOOORRRR____TTTTAAAABBBBLLLLEEEE, if enabled. See ggggllllCCCCoooolllloooorrrrTTTTaaaabbbblllleeee.
The texture image can be represented by the same data formats as the
pixels in a ggggllllDDDDrrrraaaawwwwPPPPiiiixxxxeeeellllssss command, except that GGGGLLLL____SSSSTTTTEEEENNNNCCCCIIIILLLL____IIIINNNNDDDDEEEEXXXX and
GGGGLLLL____DDDDEEEEPPPPTTTTHHHH____CCCCOOOOMMMMPPPPOOOONNNNEEEENNNNTTTT cannot be used. ggggllllPPPPiiiixxxxeeeellllSSSSttttoooorrrreeee and ggggllllPPPPiiiixxxxeeeellllTTTTrrrraaaannnnssssffffeeeerrrr
modes affect texture images in exactly the way they affect ggggllllDDDDrrrraaaawwwwPPPPiiiixxxxeeeellllssss.
GGGGLLLL____AAAABBBBGGGGRRRR____EEEEXXXXTTTT is part of the EEEEXXXXTTTT____aaaabbbbggggrrrr extension, not part of the core GL
command set. If GGGGLLLL____EEEEXXXXTTTT____aaaabbbbggggrrrr is included in the string returned by
ggggllllGGGGeeeettttSSSSttttrrrriiiinnnngggg, when called with argument GGGGLLLL____EEEEXXXXTTTTEEEENNNNSSSSIIIIOOOONNNNSSSS, extension EEEEXXXXTTTT____aaaabbbbggggrrrr
is supported by the GL.
ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD and GGGGLLLL____PPPPRRRROOOOXXXXYYYY____TTTTEEEEXXXXTTTTUUUURRRREEEE____2222DDDD are available only if the GL version
is 1.1 or greater.
Internal formats other than 1, 2, 3, or 4 may be used only if the GL
version is 1.1 or greater.
In GL version 1.1 or greater, _p_i_x_e_l_s may be a null pointer. In this case
texture memory is allocated to accommodate a texture of width _w_i_d_t_h and
height _h_e_i_g_h_t. You can then download subtextures to initialize this
texture memory. The image is undefined if the user tries to apply an
uninitialized portion of the texture image to a primitive.
Formats GGGGLLLL____BBBBGGGGRRRR, and GGGGLLLL____BBBBGGGGRRRRAAAA and types GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____BBBBYYYYTTTTEEEE____3333____3333____2222,
GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____IIIINNNNTTTT____8888____8888____8888____8888____RRRREEEEVVVV, GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____IIIINNNNTTTT____11110000____11110000____11110000____2222, and
GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____IIIINNNNTTTT____2222____11110000____11110000____11110000____RRRREEEEVVVV are available only if the GL version is
1.2 or greater.
EEEERRRRRRRROOOORRRRSSSS
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____EEEENNNNUUUUMMMM is generated if _t_a_r_g_e_t is not GGGGLLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____2222DDDD or
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____VVVVAAAALLLLUUUUEEEE is generated if _b_o_r_d_e_r is not 0 or 1.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee2222DDDD is executed between the
execution of ggggllllBBBBeeeeggggiiiinnnn and the corresponding execution of ggggllllEEEEnnnndddd.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if _t_y_p_e is one of
GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____SSSSHHHHOOOORRRRTTTT____5555____6666____5555, or GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____SSSSHHHHOOOORRRRTTTT____5555____6666____5555____RRRREEEEVVVV and _f_o_r_m_a_t is not
GGGGLLLL____RRRRGGGGBBBB.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if _t_y_p_e is one of
GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____IIIINNNNTTTT____11110000____11110000____11110000____2222, or GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____IIIINNNNTTTT____2222____11110000____11110000____11110000____RRRREEEEVVVV and _f_o_r_m_a_t
is not GGGGLLLL____RRRRGGGGBBBBAAAA, GGGGLLLL____BBBBGGGGRRRRAAAA or GGGGLLLL____AAAABBBBGGGGRRRR____EEEEXXXXTTTT.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated when the SSSSGGGGIIIIXXXX____ssssuuuubbbbssssaaaammmmpppplllleeee extension is
supported, and the pixel storage mode GGGGLLLL____UUUUNNNNPPPPAAAACCCCKKKK____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____RRRRAAAATTTTEEEE____SSSSGGGGIIIIXXXX is
not GGGGLLLL____PPPPIIIIXXXXEEEELLLL____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____4444444444444444____SSSSGGGGIIIIXXXX, and _w_i_d_t_h is not a multiple of 2, or
_f_o_r_m_a_t is not a 3 or 4 component format, or _t_y_p_e is a packed pixels type.
GGGGLLLL____IIIINNNNVVVVAAAALLLLIIIIDDDD____OOOOPPPPEEEERRRRAAAATTTTIIIIOOOONNNN is generated if GGGGLLLL____AAAASSSSYYYYNNNNCCCC____TTTTEEEEXXXX____IIIIMMMMAAAAGGGGEEEE____SSSSGGGGIIIIXXXX is enabled
and the number of asynchronous ggggllllTTTTeeeexxxxIIIImmmmaaaaggggeeee commands that have been issued
but not queried (using ggggllllFFFFiiiinnnniiiisssshhhhAAAAssssyyyynnnnccccSSSSGGGGIIIIXXXX or ggggllllPPPPoooollllllllAAAAssssyyyynnnnccccSSSSGGGGIIIIXXXX) exceeds
RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee, RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee2222, and VVVVTTTTXXXX systems do not support color
matrix transformations on images as they are loaded to or read back from
texture memory.
RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee, RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee2222, and VVVVTTTTXXXX systems do not support convolving
images as they are loaded into texture memory.
On RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee, RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee2222, and VVVVTTTTXXXX systems the width and height of
a detail texture must both be 256. On HHHHiiiigggghhhh IIIImmmmppppaaaacccctttt and MMMMaaaaxxxxiiiimmmmuuuummmm IIIImmmmppppaaaacccctttt
systems, detail texture size must be 128x128 or 256x256.
Detail texturing acts as if the mipmap stack were extended by a number of
levels equal to the absolute value of the GGGGLLLL____DDDDEEEETTTTAAAAIIIILLLL____TTTTEEEEXXXXTTTTUUUURRRREEEE____LLLLEEEEVVVVEEEELLLL____SSSSGGGGIIIISSSS
parameter. The number of normal mipmap levels plus the number of detail
levels must not exceed the maximum number of levels that can be supported
on the hardware. For example, on IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy systems the maximum
number of levels is 15. A detail texture at level -4 could be supported
on a base texture of size 2K (that is, a base texture with 11 levels) but
not on a base texture that is larger than 2K (one with 12 or more
levels). Failure to observe this constraint causes detail textures to
swim or jitter.
RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee, RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee2222, and VVVVTTTTXXXX systems do not support histogram
or minmax operations on images as they are being loaded into texture
memory.
The SSSSGGGGIIIIXXXX____iiiinnnntttteeeerrrrllllaaaacccceeee extension is supported only on IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy
systems, on RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee, RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee2222, and VVVVTTTTXXXX systems, on OOOOccccttttaaaannnneeee2222
VVVVPPPPrrrroooo systems, and on OOOO2222 systems.
The EEEEXXXXTTTT____ppppaaaacccckkkkeeeedddd____ppppiiiixxxxeeeellllssss extension is not supported on RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee,
RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee2222, and VVVVTTTTXXXX systems.
The SSSSGGGGIIIIXXXX____ssssuuuubbbbssssaaaammmmpppplllleeee and SSSSGGGGIIIIXXXX____rrrreeeessssaaaammmmpppplllleeee extensions are supported only on
OOOOccccttttaaaannnneeee2222 VVVVPPPPrrrroooo systems. Applying the GGGGLLLL____PPPPIIIIXXXXEEEELLLL____SSSSUUUUBBBBSSSSAAAAMMMMPPPPLLLLEEEE____2222444422224444____SSSSGGGGIIIIXXXX
subsample rate is accelerated for direct immmediate mode transfers when
the format is GGGGLLLL____RRRRGGGGBBBB or GGGGLLLL____RRRRGGGGBBBBAAAA, and the type is GGGGLLLL____UUUUNNNNSSSSIIIIGGGGNNNNEEEEDDDD____BBBBYYYYTTTTEEEE or
Texture borders are not supported on IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy systems, so the
border width should always be zero. Applications should use the texture
wrap mode GGGGLLLL____CCCCLLLLAAAAMMMMPPPP____TTTTOOOO____EEEEDDDDGGGGEEEE____SSSSGGGGIIIISSSS to obtain behavior similar to that of
borders.
The SSSSGGGGIIIISSSS____tttteeeexxxxttttuuuurrrreeee____sssseeeelllleeeecccctttt extension is supported only on IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy
systems, HHHHiiiigggghhhh IIIImmmmppppaaaacccctttt and MMMMaaaaxxxxiiiimmmmuuuummmm IIIImmmmppppaaaacccctttt on Octane systems, and HHHHiiiigggghhhh
IIIImmmmppppaaaacccctttt and MMMMaaaaxxxxiiiimmmmuuuummmm IIIImmmmppppaaaacccctttt on Indigo2 systems with the TRAM option card.
On IIIInnnnffffiiiinnnniiiitttteeeeRRRReeeeaaaalllliiiittttyyyy, RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee, RRRReeeeaaaalllliiiittttyyyyEEEEnnnnggggiiiinnnneeee2222, and VVVVTTTTXXXX systems, HHHHiiiigggghhhh
IIIImmmmppppaaaacccctttt and MMMMaaaaxxxxiiiimmmmuuuummmm IIIImmmmppppaaaacccctttt systems, and OOOOccccttttaaaannnneeee2222 VVVVPPPPrrrroooo systems, texture
objects (see ggggllllBBBBiiiinnnnddddTTTTeeeexxxxttttuuuurrrreeeeEEEEXXXXTTTT) are significantly faster than display-
listed textures, and therefore are recommended for managing texture